/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package asfabdesk.dominio;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.UniqueConstraint;

/**
 *
 * @author Marco Aurélio
 */
@Entity
@NamedQueries(value = {
    @NamedQuery(name = "EmpresaPorNomeFantasia", query = "SELECT e FROM EmpresaConveniada e WHERE e.nomeFantasia LIKE(?) AND e.deletado=false"),
    @NamedQuery(name = "EmpresaPorRazaoSocial", query = "SELECT e FROM EmpresaConveniada e WHERE e.razaoSocial LIKE(?) AND e.deletado=false"),
    @NamedQuery(name = "EmpresaPorCnpj", query = "SELECT e FROM EmpresaConveniada e WHERE e.cnpj LIKE(?) AND e.deletado=false"),
    @NamedQuery(name = "EmpresaPorCidade", query = "SELECT e FROM EmpresaConveniada e WHERE e.cidade LIKE(?) AND e.deletado=false"),
    @NamedQuery(name = "EmpresaPorNomeContato", query = "SELECT e FROM EmpresaConveniada e WHERE e.nomeContato LIKE(?) AND e.deletado=false"),
    @NamedQuery(name = "EmpresasPorTipoServico", query = "SELECT e FROM EmpresaConveniada e WHERE e.tipoServico.descricao LIKE(?) AND e.deletado=false"),
    @NamedQuery(name = "EmpresasPorStatus", query = "SELECT e FROM EmpresaConveniada e WHERE e.ativo=? AND e.deletado=false"),
    @NamedQuery(name = "EmpresasPorTipoServicoStatus", query = "SELECT e FROM EmpresaConveniada e WHERE e.tipoServico.descricao LIKE(?) AND e.ativo=? AND e.deletado=false")
})
@Table(name = "EMPRESAS_CONVENIADAS", uniqueConstraints = {
    @UniqueConstraint(columnNames = {"CNPJ"})})
public class EmpresaConveniada implements Serializable {

    @Id
    @GeneratedValue
    private Long id;
    private String razaoSocial;
    private String nomeFantasia;
    @Column(name = "CNPJ")
    private String cnpj;
    private boolean ativo = true;
    private boolean deletado;
    private String obs;
    private String tel1;
    private String tel2;
    private String nomeContato;
    private String telContato;
    private String email;
    private String homePag;
    private String logradouro;
    @Column(name = "numero_end")
    private String numero;
    private String complemento;
    private String cidade;
    private String uf;
    private String cep;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataCadastro;
    @JoinColumn(name = "TIPO_SERVICO", referencedColumnName = "id")
    @ManyToOne
    private TipoServico tipoServico;
    @JoinColumn(name = "USUARIOS", referencedColumnName = "id")
    @ManyToOne
    private Usuario usuarioCadastrante; // funcionario ASFAB

    public EmpresaConveniada() {
    }

    public boolean isAtivo() {
        return ativo;
    }

    public void setAtivo(boolean ativo) {
        this.ativo = ativo;
    }

    public String getCep() {
        return cep;
    }

    public void setCep(String cep) {
        this.cep = cep;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public String getCnpj() {
        return cnpj;
    }

    public void setCnpj(String cnpj) {
        this.cnpj = cnpj;
    }

    public String getComplemento() {
        return complemento;
    }

    public void setComplemento(String complemento) {
        this.complemento = complemento;
    }

    public Date getDataCadastro() {
        return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) {
        this.dataCadastro = dataCadastro;
    }

    public boolean isDeletado() {
        return deletado;
    }

    public void setDeletado(boolean deletado) {
        this.deletado = deletado;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getHomePag() {
        return homePag;
    }

    public void setHomePag(String homePag) {
        this.homePag = homePag;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getLogradouro() {
        return logradouro;
    }

    public void setLogradouro(String logradouro) {
        this.logradouro = logradouro;
    }

    public String getNomeContato() {
        return nomeContato;
    }

    public void setNomeContato(String nomeContato) {
        this.nomeContato = nomeContato;
    }

    public String getNomeFantasia() {
        return nomeFantasia;
    }

    public void setNomeFantasia(String nomeFantasia) {
        this.nomeFantasia = nomeFantasia;
    }

    public String getNumero() {
        return numero;
    }

    public void setNumero(String numero) {
        this.numero = numero;
    }

    public String getObs() {
        return obs;
    }

    public void setObs(String obs) {
        this.obs = obs;
    }

    public String getRazaoSocial() {
        return razaoSocial;
    }

    public void setRazaoSocial(String razaoSocial) {
        this.razaoSocial = razaoSocial;
    }

    public String getTel1() {
        return tel1;
    }

    public void setTel1(String tel1) {
        this.tel1 = tel1;
    }

    public String getTel2() {
        return tel2;
    }

    public void setTel2(String tel2) {
        this.tel2 = tel2;
    }

    public String getTelContato() {
        return telContato;
    }

    public void setTelContato(String telContato) {
        this.telContato = telContato;
    }

    public TipoServico getTipoServico() {
        return tipoServico;
    }

    public void setTipoServico(TipoServico tipoServico) {
        this.tipoServico = tipoServico;
    }

    public String getUf() {
        return uf;
    }

    public void setUf(String uf) {
        this.uf = uf;
    }

    public Usuario getUsuarioCadastrante() {
        return usuarioCadastrante;
    }

    public void setUsuarioCadastrante(Usuario usuarioCadastrante) {
        this.usuarioCadastrante = usuarioCadastrante;
    }
}
